<?php
Class Controller_User Extends Controller_Base {
	function index() {
		//echo 'User controller ';
	}

	function setTheme() {
		$d = $_POST;
		if(isset($d['theme']) && User::checkAccess('user')) {
			$_SESSION['user']['theme'] = $d['theme'];
			User::set( array("theme" => $d['theme']));
		}
	}

	function login() {
		$db = DB::get();
		$user = User::get($_POST["login"], $_POST["password"], $db);
		if($user == false) {
			echo json_encode( array("state" => 0, "msg" => "Ошибка авторизации, попробуйте ещё раз."));
		} else {
			$_SESSION['user'] 	= $user;
			Person::set( array("state" => 1));
			$res 				= User::getViewData($db);
			$res['state'] 		= true;
			$res['theme']		= 'static/css/ui-theme/'.$user['theme'].'/jquery-ui-1.8.6.custom.css';
			echo json_encode($res);
		}
	}

	function logout() {
		Person::set( array("state" => 0));
		unset($_SESSION['user']);
		$res = User::getViewData(DB::get());
		$res["state"] = true;
		echo json_encode($res);
	}

	function userInfo() {
		include 'views/user/info.php';
	}

	function checkLogin() {
		if(!(isset($_POST['fieldValue']) && isset($_POST['fieldId'])))die('');
		$validateValue 		= $_POST['fieldValue'];
		$validateId 		= $_POST['fieldId'];

		$validateError 		= "Имя пользователя занято";
		$validateSuccess 	= "Имя пользователя доступно";

		/* RETURN VALUE */
		$arrayToJs 		= array();
		$arrayToJs[0] 	= $validateId;
		if(!User::existsUser($validateValue)) {		// validate??
			$arrayToJs[1] = true;
			// RETURN TRUE
			echo json_encode($arrayToJs);
			// RETURN ARRAY WITH success
		} else {
			$arrayToJs[1] = false;
			echo json_encode($arrayToJs);

		}
	}

	function new_() {//Если пользователь(не являющийся developer'ом) авторизован тогда выдаём ошибку
		if(User::checkAccess('user') && !User::checkAccess('developer'))
			die('Ошибка доступа!!!');

		$d = $_POST;
		if(isset($d['form']) == true) {

			$rus = array("lb_pr_inf" => "Личная информация", "lb_surname" => "Фамилия", "lb_name" => "Имя", "lb_patronymic" => "Отчество", "lb_post" => "Должность", "lb_organization" => "Организация", "lb_degree" => "Ученая степень", "nav" => "Для того, чтобы продолжить регистрацию, нажмите 'Вперед'.", "lb_co_inf" => "Контактная информация", "lb_country" => "Страна", "lb_phone" => "Телефон", "lb_city" => "Город", "lb_address" => "Адрес", "lb_au_inf" => "Информация для авторизации", "lb_login" => "Логин", "lb_email" => "Электронный адрес", "lb_pass" => "Пароль", "lb_rep_pass" => "Повторите пароль", "lb_reg" => "Зарегистрироваться", "lb_clear" => "Очистить", "lb_cancel" => "Отменить");

			$ua = array("lb_pr_inf" => "Особиста інформація", "lb_surname" => "Прізвище", "lb_name" => "Ім'я", "lb_patronymic" => "По батькові", "lb_post" => "Посада", "lb_organization" => "Організація", "lb_degree" => "Вчена ступінь", "nav" => "Для того, щоб продовжити регістрацію, натисніть 'Уперед'.", "lb_co_inf" => "Контактна інформація", "lb_country" => "Країна", "lb_phone" => "Телефон", "lb_city" => "Город", "lb_address" => "Адреса", "lb_au_inf" => "Інформація для авторизації", "lb_login" => "Логін", "lb_email" => "Електронна адреса", "lb_pass" => "Пароль", "lb_rep_pass" => "Повторіть пароль", "lb_reg" => "Зареєструватися", "lb_clear" => "Очистити", "lb_cancel" => "Скасувати");

			$data = isset($d['lang']) && $d['lang'] == "ua" ? $ua : $rus;

			$data['countries'] = Country::getSelect();
			$res["title"] = "Регистрация";
			$res["html"] = Template::parse("user/regform", $data);

			echo json_encode($res);
		} else {
			$db = DB::get();
			$v = User::validate($db);
			$v["action"] = "register";
			$v = Person::validate($v, $db);

			if($v['state']) {
				$res = array("state" => true, "msg" => "Регистрация прошла успешно, Вы можете авторизоваться.");
				$person = Person::create($db);
				User::create($person, $db);

				echo json_encode($res);
			} else {
				echo json_encode($v);
			}
		}
	}

}
?>

